基于layui实现select区域联动

要实现联动效果注意两点:
<script type="text/javascript"> layui.use(['form', 'layer', 'laytpl', 'jquery'], function () { var form = layui.form , $ = layui.jquery; var parentId = '0'; $(function () { $.post(serverPath + "sys/area/backProvince/" + parentId, function (result) { var p = result; for (v in p) { var pp = p[v].id; $("#s_p").append("<option value=" + pp + ">" + p[v].fullname + "</option>") } form.render(); }) form.on('select(province)', function (data) { var p = $("#s_p").val(); if (p != "1") { $.post(serverPath + "sys/area/backProvince/" + p, function (result) { var c = result; $("#s_c").html(""); $("#s_c").append("<option value='1'>请选择市</option>"); $("#s_x").html(""); $("#s_x").append("<option value='1'>请选择县/区</option>"); $("#s_t").html(""); $("#s_t").append("<option value='1'>请选择乡镇/街道</option>"); $("#s_b").html(""); $("#s_b").append("<option value='1'>请选择村/街道号</option>"); for (v in c) { var cc = c[v].id; $("#s_c").append("<option value=" + cc + ">" + c[v].fullname + "</option>") } form.render(); }) } }); form.on('select(city)', function (data) { var c = $("#s_c").val(); if (c != "1") { $.post(serverPath + "sys/area/backProvince/" + c, function (result) { var x = result; $("#s_x").html(""); $("#s_x").append("<option value='1'>请选择县/区</option>"); $("#s_t").html(""); $("#s_t").append("<option value='1'>请选择乡镇/街道</option>"); $("#s_b").html(""); $("#s_b").append("<option value='1'>请选择村/街道号</option>"); for (v in x) { var xx = x[v].id; $("#s_x").append("<option value=" + xx + ">" + x[v].fullname + "</option>") } form.render(); }); } }); form.on('select(area)', function (data) { var x = $("#s_x").val(); if (x != "1") { $.post(serverPath + 'sys/area/backProvince/'+ x, function (result) { var t = result; $("#s_t").html(""); $("#s_t").append("<option value='1'>请选择乡镇/街道</option>"); $("#s_b").html(""); $("#s_b").append("<option value='1'>请选择村/街道号</option>"); for (v in t) { var xx = t[v].id; $("#s_t").append("<option value=" + xx + ">" + t[v].fullname + "</option>") } form.render(); }); } }); }); }); </script>总结:
form.on('select(myselect)', function(data){}) 其中myselect是select的 lay-filter属性值
2、数据异步加载到select的option中之后,点击该select会发现layui的选中效果不起作用,需要使用form.render('select');重新渲染一次,就可以正常使用。
<div class="x-body"> <form class="layui-form" action="" method="post"> <div class="layui-form-item"> <label class="layui-form-label">选择地区</label> <div class="layui-input-inline"> <select name="province" lay-filter="province" id="s_p"> <option value="1">请选择省</option> </select> </div> <div class="layui-input-inline"> <select name="city" lay-filter="city" id="s_c"> <option value="1">请选择市</option> </select> </div> <div class="layui-input-inline"> <select name="area" lay-filter="area" id="s_x"> <option value="1">请选择区/县</option> </select> </div> </div> <div> <label class="layui-form-label">选择地区</label> <div class="layui-input-inline"> <select name="towns" lay-filter="towns" id="s_t"> <option value="1">请选择乡镇/街道</option> </select> </div> <!--<div class="layui-input-inline">--> <!--<select name="burg" lay-filter="burg" id="s_b">--> <!--<option value="1">庄/村</option>--> <!--</select>--> <!--</div>--> </div> </form> </div>js:
更多layui知识请关注PHP中文网layui教程栏目
以上就是基于layui实现select区域联动的详细内容,更多请关注聚合云库其它相关文章!
Html结构:
1、select的chage监听事件使用
第二异步加载的内容,需要重新渲染后才可以 正常使用。
第一要可以监听到select的change事件;
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/cssm/5054.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
其中border-left决定了底部直
时间:2021-01-23
-
当你自己回头来看你写的
时间:2021-01-23
-
④格式标签 粗体:b/b 斜
时间:2021-01-23
-
我们直接看代码: !DOCTY
时间:2021-01-23
-
这里就是吐槽的IE6!) 图
时间:2021-01-23
-
假设我们的HTML代码如下:
时间:2021-01-23
-
那么使用 CSS3 新增的选择
时间:2021-01-23
-
scaleGlassRectangle.y
时间:2021-01-23
热门文章
-
可以加我的HTML5前端交流群111645711 CSS源码
时间:2021-01-15
-
就可以对子元素进行 3D 变形操作了
时间:2021-01-12
-
用css让一个容器水平垂直
时间:2021-01-12
-
而没有设置高度
时间:2021-01-19
-
canvas与html5实现视频截图成果
时间:2021-01-19
-
所以通常不需要发送
时间:2021-01-19
-
我们尝试一下更新一下HTML结构
时间:2021-01-23
-
scaleGlassRectangle.y
时间:2021-01-23
-
HTML5生拖放实例分析
时间:2021-01-12
-
在全局:root{ }伪类中定义了一个 CSS 变量
时间:2021-01-21
